Socket
Socket
Sign inDemoInstall

jhtmls

Package Overview
Dependencies
Maintainers
2
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jhtmls

JS and HTML alternate javascript template


Version published
Weekly downloads
11
decreased by-50%
Maintainers
2
Weekly downloads
 
Created
Source

jhtmls(#$)

Build Status NPM version

概述

jhtmls 是什么?

jhtmls 是一个不使用标记符的 Javascript 模板引擎,通过分析每一行的特征,自动区分「逻辑部分」和「输出部分」

举个栗子

  • 「输出部分」 #{item.title}「输出部分」 if (item.photo) {「逻辑部分」 「输出部分」 }「逻辑部分」
「输出部分」 >```

如今这么多 Javascript 前端模板,jhtmls 存在的意义是什么?

2011年 jhtmls 的前身 AceTemplate 就已经存在了,为方便迭代已从 AceEngine 项目中抽离出来。

如果只处理 HTML 格式,那么采用 Javascript 和 HTML 语法自然穿插的方式,学习和使用成本都很低了。

这种混插的方式与 JSX 类似。

React.render(

content
, document.getElementById('example') );

jhtmls 解决什么问题?

尽可能少的输入字符,让写码的过程更流畅。

如何使用

安装

  • node 环境 $ npm install jhtmls
  • 浏览器环境 $ bower install jhtmls

引用

<script src="jhtmls.min.js"></script>

主要接口

/**
 * 格式化输出
 *
 * @param {string|Function} template 模板本身 或 模板放在函数行注释中
 * @param {Object} data 格式化的数据,默认为空字符串
 * @param {Object} helper 附加数据(默认为渲染函数)
 * @return {Function|string} 如果只有一个参数则返回渲染函数,否则返回格式化后的字符串
 */
function render(template, data, helper) { ... }

调用示例

var data = [
  {
    title: '《哥斯拉》',
    date: 'today'
  },
  {
    title: '《钢铁侠》',
    date: 'tomorrow'
  }
];

var render = jhtmls.render(function() {/*!
<ul>
forEach(function(item) {
  with (item) {
  <li>$title -- $date</li>
  }
});
</ul>
*/});
var text = jhtmls.render('#{ JSON.stringify(this) }', data);

document.getElementById('main').innerHTML = render(data);

历史

为了便于 jhtmls 的发展和维护,从 AceEngine 抽出 AceTemplate

识别「输出部分」语法图

Keywords

FAQs

Package last updated on 12 Dec 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc